/*
 ID: ning yusui
 LANG: C++
 TASK: ratios
 */
#include <iostream>
#include <fstream>

using namespace std;

ifstream fin("ratios.in");
ofstream fout("ratios.out");

int num[4][4];
int tar[4];

//计算三阶行列式的值
int DD(int (*x)[4])
{
	int ans=x[1][1]*x[2][2]*x[3][3]+x[2][1]*x[3][2]*x[1][3]+x[3][1]*x[1][2]*x[2][3]
			-x[1][3]*x[2][2]*x[3][1]-x[2][3]*x[3][2]*x[1][1]-x[3][3]*x[1][2]*x[2][1];
	return ans;
}

void init()
{
	int i,j;

	for (i=1;i<=3;++i) fin>>tar[i];

	for (j=1;j<=3;++j)
		for (i=1;i<=3;++i)
			fin>>num[i][j];

}


void deal()
{
	int i,j,k;
	int x,y,z;
	int D,D1,D2,D3;
	int temp[4];

	//交换列向量，求得行列式值
	D=DD(num);

	for (i=1;i<=3;++i) temp[i]=num[i][1];
	for (i=1;i<=3;++i) num[i][1]=tar[i];
	D1=DD(num);
	for (i=1;i<=3;++i) num[i][1]=temp[i];

	for (i=1;i<=3;++i) temp[i]=num[i][2];
	for (i=1;i<=3;++i) num[i][2]=tar[i];
	D2=DD(num);
	for (i=1;i<=3;++i) num[i][2]=temp[i];

	for (i=1;i<=3;++i) temp[i]=num[i][3];
	for (i=1;i<=3;++i) num[i][3]=tar[i];
	D3=DD(num);
	for (i=1;i<=3;++i) num[i][3]=temp[i];

	//利用Cramer法则可直接求得解，为了得到整数解，需要枚举系数
	bool found=false;
	for (k=1;k<=100;++k) if (k*D1 % D ==0 && k*D2 % D ==0 && k*D3 % D==0)
	{
		x=k*D1 /D;
		y=k*D2 /D;
		z=k*D3 /D;
		if (x<0 || y<0 || z<0) continue;
		found=true;
		fout<<x<<" "<<y<<" "<<z<<" "<<k<<endl;
		break;
	}
	if (!found) fout<<"NONE"<<endl;
}

int main()
{
	init();
	deal();

	//system("pause");
	return 0;
}
